<!DOCTYPE html>
<html>
	<head>
		<title>系统公告表-添加/修改</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<!-- 所有的 css js 资源 -->
		<link rel="stylesheet" href="https://unpkg.com/element-ui@2.13.0/lib/theme-chalk/index.css">
		<link rel="stylesheet" href="../../static/sa.css"> 
		<script src="https://unpkg.com/vue@2.6.10/dist/vue.min.js"></script>
		<script src="https://unpkg.com/element-ui@2.13.0/lib/index.js"></script>
		<script src="https://unpkg.com/jquery@3.4.1/dist/jquery.js"></script>
		<script src="https://www.layuicdn.com/layer-v3.1.1/layer.js"></script>
		<script src="../../static/sa.js"></script>
		<script src="../../static/kj/oss-util.js"></script>
		<script src="../../static/kj/wangEditor.up.js"></script>
		<style type="text/css">
			.c-panel .el-form .c-label{width: 8em !important;}
			.c-panel .el-form .el-input,
			.c-panel .el-form .el-textarea__inner{width: 250px;}
			/*  普通文本和富文本一起变长  */
			.c-panel .el-form .el-input, .c-panel .el-form .el-textarea__inner{width: 700px;}
		
		</style>
	</head>
	<body>
		<div class="vue-box" :class="{sbot: id}" style="display: none;" :style="'display: block;'">
			<!-- ------- 内容部分 ------- -->
			<div class="s-body">
				<div class="c-panel" v-if="m">
					<!-- <div class="c-title" v-if="id == 0">数据添加</div>
					<div class="c-title" v-else>数据修改</div> -->
					<el-form size="mini" v-if="m">
						<!-- no字段： m.id - id号 -->
						<div class="c-item br">
							<label class="c-label">标题：</label>
							<el-input size="mini" v-model="m.title"></el-input>
						</div>
						<div class="c-item br editor-item" style="margin-top: 10px;">
							<label class="c-label">内容：</label>
							<div class="editor-box">
								<div id="editor"></div>
							</div>
						</div>
						<div style="clear: both;"></div>
						<!-- <div class="c-item br">
							<label class="c-label" style="vertical-align: top;">封面：</label>
							<img :src="m.cover" style="width: 3em; height: 3em; cursor: pointer;" 
								@click="sa.showImage(m.cover, '400px', '400px')" v-if="!sa.isNull(m.cover)">
							<el-link type="primary" @click="sa.uploadImage(src => {m.cover = src; sa.ok2('上传成功');})">上传</el-link>
						</div> -->
						<!-- no字段： m.see_count - 点击数量 -->
						<!-- <div class="c-item br">
							<label class="c-label">分类id：</label>
							<el-radio-group v-model="m.type" size="mini">
								<el-radio-button :label="1">普通公告</el-radio-button>
								<el-radio-button :label="2">首页公告</el-radio-button>
								<el-radio-button :label="3">操作手册</el-radio-button>
								<el-radio-button :label="9">特殊公告</el-radio-button>
							</el-radio-group>
						</div> -->
						<!-- <div class="c-item br">
							<label class="c-label">排序值：</label>
							<el-input size="mini" v-model="m.sort" type="number"></el-input>
						</div> -->
						<!-- date-create字段： m.create_time - 发表日期 -->
						<div class="c-item br" v-if = "id == 0">
							<label class="c-label"></label>
							<el-button size="mini" type="primary" icon="el-icon-plus" @click="ok()">保存</el-button>
						</div>
					</el-form>
				</div>
			</div>
			<!-- ------- 底部按钮 ------- -->
			<div class="s-foot">
				<el-button size="mini" type="primary" @click="ok()">确定</el-button>
				<el-button size="mini" @click="sa.closeCurrIframe()">取消</el-button>
			</div>
			
		</div>
		<script>
			// 创建一个空model
			function create_m() {
				return {
					// id: '',		// id号  
					title: '',		// 标题  
					content: '',		// 内容  
					cover: '',		// 封面  
					// see_count: '',		// 点击数量  
					type: sa.p('type', 1),		// 分类id (1=普通公告, 2=首页公告, 3=操作手册, 9=特殊公告)  
					sort: '',		// 排序值  
					// create_time: '',		// 发表日期  
				}
			}
			// 创建编辑器
			function create_editor(content) {
				var E = window.wangEditor;
				window.editor = new E('#editor');

				editor.customConfig.menus = [
					'head', 'fontSize', 'fontName', 'italic', 'underline', 'strikeThrough', 'foreColor', 'backColor', 'link', 'list',
					'justify', 'quote', 'emoticon', 'image', 'table', 'code', 'undo', 'redo' // 重复
				]
				editor.customConfig.debug = true; // debug模式
				// editor.customConfig.uploadFileName = 'file'; // 图片流name
				editor.customConfig.withCredentials = true; // 跨域携带cookie
				editor.customConfig.uploadImgMaxSize = 100 * 1024 * 1024;	// 图片大小最大100M
				// editor.customConfig.uploadImgShowBase64 = true   	// 使用 base64 保存图片
				// 重写上传图片的函数到OSS 
				editor.customConfig.customUploadImg = function(files, insert) {
					var file = files[0]; // 文件对象 
					startUploadImage2(file, function(src) {
						insert(src);
						sa.msg('上传成功');
					});
				}
				editor.create(); // 创建
				editor.txt.html(content);	// 为编辑器赋值
				setTimeout(function() {
					$('.editor-box').height($('.editor-box').height());
				})
			}
		</script>
        <script>
			
			var app = new Vue({
				el: '.vue-box',
				data: {
					id: sa.p('id', 0),		// 获取超链接中的id参数（0=添加，非0=修改） 
					m: null,		// 实体对象 
				},
				methods: {
					// 表单验证
					submit_check: function() {
						var m = this.m; 
						// if(sa.isNull(m.id)) {
						// 	return sa.error('请输入id号');
						// }
						if(sa.isNull(m.title)) {
							return sa.error('请输入标题');
						}
						if(sa.isNull(m.content)) {
							return sa.error('请输入内容');
						}
						// if(sa.isNull(m.cover)) {
						// 	return sa.error('请输入封面');
						// }
						// if(sa.isNull(m.see_count)) {
						// 	return sa.error('请输入点击数量');
						// }
						if(sa.isNull(m.type)) {
							return sa.error('请输入分类id');
						}
						// if(sa.isNull(m.sort)) {
						// 	return sa.error('请输入排序值');
						// }
						// if(sa.isNull(m.create_time)) {
						// 	return sa.error('请输入发表日期');
						// }
						return 'ok';	// ok表示正确 
					},
					// 提交数据 
					ok: function(){
						// 验证 
						this.m.content = editor.txt.html();	// 获取富文本值 
						if(this.submit_check() != 'ok') {
							return;
						}
						// 开始增加或修改
						this.m.create_time = undefined;		// 不提交属性：发表日期
						this.m.sort = new Date().getTime();	
						if(this.id <= 0) {	// 添加
							sa.ajax('/SysNotice/add', this.m, function(res){
								sa.alert('增加成功', function() {
									// app.m = create_m();
									parent.app.f5();		// 刷新父页面列表 
									sa.closeCurrIframe();	// 关闭本页 
								}); 
							});
						} else {	// 修改
							sa.ajax('/SysNotice/update', this.m, function(res){
								sa.alert('修改成功', function(){
									parent.app.f5();		// 刷新父页面列表 
									sa.closeCurrIframe();	// 关闭本页 
								});
							});
						}
					}
				},
				mounted: function(){
					// 初始化数据 
					if(this.id <= 0) {	
						this.m = create_m();
						this.$nextTick(function() {
							create_editor('');
						})
					} else {	
						sa.ajax('/SysNotice/getById?id=' + this.id, function(res) {
							this.m = res.data;
							this.$nextTick(function() {
								create_editor(this.m.content);
							})
						}.bind(this))
					}
				}
			})
			
		</script>
	</body>
</html>